package com.ttxs.uaa.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ttxs.uaa.vo.ImportUserVO;
import com.ttxs.uaa.entity.SysUser;
import com.ttxs.uaa.vo.LoginResult;
import com.ttxs.uaa.vo.UserVO;

import java.util.List;


/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author 天天向上
 * @since 2021-07-26
 */
public interface ISysUserService extends IService<SysUser> {
    boolean register(SysUser sysUser);
    LoginResult login(String platformName, String username, String password);

    Page<UserVO> pageVo(Page<UserVO> page, UserVO queryWrapper);
    /**
     * 管理员重置用户的密码为默认值
     * @param userId
     * @param userName
     * @param platformId
     */
    void resetPassword(Long userId, String userName, String platformId);

    void changePassword(Long userId, String platformId, String newPassword, String oldPassword);

    SysUser getWithRoles(Long userId);

    void updateByAim(SysUser sysUser);

    /**
     * 批量删除用户，包括角色关系
     * @param idList
     * @return
     */
    boolean removeByIds(Long[] idList);

    boolean changeStatus(SysUser sysUser);

    boolean importUsers(String platformName, List<ImportUserVO> users);
}
